package com.iwhalecloud.bss.kite.cucc.service.rule.check.Impl;

import com.iwhalecloud.bss.kite.cucc.client.api.rule.ICuccRuleTriggerService;
import com.iwhalecloud.bss.kite.cucc.service.rule.check.util.CuccRuleTrigger;
import com.iwhalecloud.bss.kite.manager.inst.KiteOfferInst;
import com.iwhalecloud.bss.kite.manager.inst.KiteOfferInstAcct;
import com.ztesoft.bss.rul.core.client.dto.common.RuleCommonParam;
import com.ztesoft.bss.rul.core.client.dto.kite.KiteRuleResponse;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional(rollbackFor = Exception.class)
public class CuccRuleTriggerService implements ICuccRuleTriggerService {


    @Override
    public KiteRuleResponse onDelOfferInstAcctCheck(String sceneInstId, RuleCommonParam ruleCommonParam, KiteOfferInstAcct kiteOfferInstAcct) {
        return CuccRuleTrigger.onDelOfferInstAcctCheck(sceneInstId, ruleCommonParam,kiteOfferInstAcct);
    }

    @Override
    public KiteRuleResponse checkPlatformType(String scenInstId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.checkPlatformType(scenInstId,ruleCommonParam);
    }

    @Override
    public KiteRuleResponse onAddAdditionalOfferInstCheck(String scenInstId, RuleCommonParam ruleCommonParam, List<KiteOfferInst> offerInstFeeList) {
        return CuccRuleTrigger.onAddAdditionalOfferInstCheck(scenInstId, ruleCommonParam,offerInstFeeList);
    }

    @Override
    public KiteRuleResponse checkUrgentOrDelay(String sceneInstId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.checkUrgentOrDelay(sceneInstId, ruleCommonParam);
    }

    @Override
    public KiteRuleResponse specialLineStartRentCheck(String sceneInstId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.specialLineStartRentCheck(sceneInstId, ruleCommonParam);
    }

    @Override
    public KiteRuleResponse singlePaymentFeePayChargeCheck(RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.singlePaymentFeePayChargeCheck(ruleCommonParam);
    }

    @Override
    public KiteRuleResponse singlePaymentFeeTerminationCheck(String sceneInstId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.singlePaymentFeeTerminationCheck(sceneInstId, ruleCommonParam);
    }

    @Override
    public KiteRuleResponse checkOrderPreViewCommon(String sceneInstId, String custId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.checkOrderPreViewCommon(sceneInstId, custId,ruleCommonParam);
    }

    @Override
    public KiteRuleResponse checkOnOrderPreview(String sceneInstId, String custId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.checkOnOrderPreview(sceneInstId, custId,ruleCommonParam);
    }

    @Override
    public KiteRuleResponse cuccCheckOrderPreViewCommon(String sceneInstId, String custId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.cuccCheckOrderPreViewCommon(sceneInstId, custId,ruleCommonParam);
    }

    @Override
    public KiteRuleResponse cuccCheckOnOrderPreview(String sceneInstId, String custId, RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.cuccCheckOnOrderPreview(sceneInstId, custId,ruleCommonParam);
    }

    @Override
    public KiteRuleResponse PIARPayMemberCheck(RuleCommonParam ruleCommonParam) {
        return CuccRuleTrigger.PIARPayMemberCheck(ruleCommonParam);
    }
}
